远程服务器上部署Ipython notebook服务

IPython + Notebook 是一款基于WEB的可视化的编程IDE,至于他的详细介绍,您可以看我另一篇文章(然而并没有写Orz)

那么我们可以在自己的本子上部署一个服务

sudo apt-get install ipython ipython-notebook -y(这里按照Ubuntu来写)

然后输入ipython notebook即自动跳转浏览器打开

偶尔需要写一些代码片段时简直不能更方便

但是如果我们想随时随地的用这项服务怎么办?

其实我们可以启用一个notebook的远程服务功能

ipython profile create nbserver

这样我们创建了一个配置文件夹

接下来我们进入配置文件夹

cd .ipython/profile_nbserver/
vi ipython_notebook_config.py 

当然我的建议是把原来文件备份为ipython_notebook_config_temp.py文件

接下来在ipython_notebook_config.py文件中写入

c = get_config()

c.NotebookApp.certfile = ‘’
c.NotebookApp.open_browser = False
c.NotebookApp.password = u’sha1:bcd259ccf.[你自己的哈希字符串]’
c.NotebookApp.port = 9999

如你所见我们需要给这项服务加个登录密码(因为不加密码公开访问的话,坏人可以直接使用python调用系统接口来搞破坏)

我们可以输入

python -c "import IPython;print IPython.lib.passwd()"

这时会显示

Enter password:
Verify password:
sha1:a83146285fe2:5288dfeb3a6af16992fadce... (安全原因略去)

其实就相当于一个sha1加密程序你把你想要的登录密码输入两次后得到的sha1字符串,写入刚才我们看到的“c.NotebookApp.password”中即可完成

好,接下来我们只要在shell中输入

ipython notebook --profile=nbserver

即可远程在这台服务器的9999端口访问ipython-notebook惹

比如http://pengfei.ga:9999